MySQL ORDER BY 多列 ASC 和 DESC
全部标签 我有三个这样的表:特化sid|s_name--------------1|test12|test2人pid|name|sid------------------1|ABC|12|XYZ|2时间tid|time_from|time_to|pid----------------------------------1|08:00:00|10:00:00|12|20:00:00|22:00:00|13|09:00:00|14:00:00|24|19:00:00|20:00:00|2**我想得到这样的结果*pid|name|s_name|time_from|time_to------------
我有一些新闻项目在创建时将unix时间戳格式的创建日期/时间添加到数据库中。如果我想按最近排序,我会在我的mysql查询中使用ASC还是DESC?编辑:谢谢大家的回复。我现在知道了。我会让Sarfraz回答公认的解决方案,因为他是第一个回复的人,但感谢其他所有人:)。必须等待11分钟才能接受它作为解决方案。 最佳答案 DESC-时间戳是“更高=更新”的数字。因此,按DESC(ending)排序会将最高(最新)条目放在首位。 关于sql-按Unix时间戳DESC或ASC排序?,我们在Sta
假设我有一个包含a、b和c列的数据库表。我计划对所有三列进行查询,但我不确定我正在查询哪些列。表中有足够多的行,索引可以极大地加快搜索速度,但是对可能的索引进行所有排列感觉是错误的(像这样):abca,ba,cb,ca,b,c有没有更好的方法来处理这个问题?(很可能我单独索引a、b、c就可以了,因为这会很快减少行数,但我想知道是否有更好的方法。)如果您需要更具体的示例,在实际数据中,列是城市、州和邮政编码。另外,我使用的是MySQL数据库。 最佳答案 在MSSQL中,索引“a,b,c”将涵盖场景“a”;“一,乙”;和“a,b,c”。
我在MYSQL中工作,需要提取用户数据以将其拉入View。我将在电子邮件客户端中使用数据,因此我无法在应用层执行此操作。问题在于用户的每个数据字段都包含在单独的行中(这是Wordpress设置数据结构的方式)。例如,wp_usermeta为每个用户提供多行数据,如下所示:user_idmeta_keymeta_data2first_nameJane2last_nameAustin2emailjane@me.com3first_nameJack3last_namePalmer3emailjack@me.com我需要将数据组合成一行,单独的字段,如下所示:user_idfirst_name
这种类型的问题之前已经问过几次,但不是我要找的。我需要SET两行等于子查询的不同部分。我目前正在使用:UPDATErecordsSETleads=(SELECTCOUNT(*)FROMleads_tableWHEREleads_table.blah=records.blah),earnings=(SELECTSUM(amount)FROMleads_tableWHEREleads_table.blah=records.blah)WHERE语句显然得到了简化...但基本上它是相同的子查询,但我认为我不应该运行它两次?我想做类似...UPDATErecordsSET(leads,earni
我正在尝试按升序运行此查询:SELECTtitle,project_indexFROMprojectdetailWHEREproject_indexBETWEEN1AND6ORDERBYtitle,project_indexASC;我需要按升序排列的两列,但上述查询返回的结果只有一列按ASC顺序排列。 最佳答案 升序是大多数(如果不是全部)DBMS的默认,所以您的陈述在这方面有点奇怪,但尽管如此,您可以通过向其添加说明符ASC或DESC来指定每个列的顺序。你的声明将变成SELECTtitle,project_indexFROMpro
在我的SQL查询中,我使用GROUPBY和ORDERBY子句选择数据。该表在多行中具有相同的数字,每行中的时间不同。所以我想我想应用一个GROUPBY子句。然而在结果中返回最早的时间和数字,但我需要最近的时间。SELECT*FROMTABLEGROUPBY(numbers)ORDERBYtimeDESC查询看起来好像应该首先应用GROUPBY然后ORDERBY...但结果似乎不是这样工作的。有什么办法可以解决这个问题吗? 最佳答案 SELECT*FROMtabletWHEREtime=(SELECTmax(time)FROMtabl
我有一个用户表,它键入一个自动递增的int列,看起来像这样:CREATETABLE`user_def`(`user_id`int(11)NOTNULLAUTO_INCREMENT,`user_name`varchar(20)NOTNULL,`date_created`datetimeNOTNULL,PRIMARYKEY(`user_id`),UNIQUEKEY`user_name_UNIQUE`(`user_name`),)ENGINE=MyISAM使用DESC索引(主键)而不是默认的ASC是否有任何实际的性能优势?我的怀疑/推理如下:我假设最近的用户会更活跃(即更频繁地访问表),因此
我正在尝试准备一个主题明智的优点列表。我正在使用这个mysql查询:SELECT*FROMresultsORDERBYqidASC,marksDESC结果是:但我需要的是这样的(查看标记列,我需要得到相同的qid行,按marks排序):请任何人帮助我。更新:这是result.sql文件,用于在您的电脑中创建表。--phpMyAdminSQLDump--version3.5.2.2--http://www.phpmyadmin.net----Host:127.0.0.1--GenerationTime:Mar09,2013at05:40PM--Serverversion:5.5.27--
我希望从1M行的表中获取最后10行。CREATETABLE`test`(`id`int(11)NOTNULLAUTO_INCREMENT,`updated_date`datetimeNOTNULL,PRIMARYKEY(`id`))这样做的一种方法是-select*fromtestorderby-idlimit10;**10rowsinset(0.14sec)**另一种方法是-select*fromtestorderbyiddesclimit10;**10rowsinset(0.00sec)**所以我对这些查询做了一个“解释”-这是我使用'orderbydesc'的查询结果EXPLAI